package fantasma;

import fabricas.FabricaTiempo;
import interfaces.IManejadorDeTiempo;
import interfaces.INivelDeIra;
import utilidades.Constantes;


public class NivelDeIra implements INivelDeIra{
	private IManejadorDeTiempo manejadorTiempo;
	private TicksDeIra ticksDeIra;
	private int nivelIra;
	
	public NivelDeIra(){
		ticksDeIra = new TicksDeIra(Constantes.TICKS_DE_IRA);
		resetearNivelDeIra();
	}

	public void actualizarNivelDeIra(){
		manejadorTiempo.actualizarCantidadDeTicks();
		if(ticksDeIra.tieneSiguiente() && manejadorTiempo.llegoALaCantidadDeTicks()){
			manejadorTiempo.resetearContadrDeTicks(ticksDeIra.siguiente());
			nivelIra++;
		}
	}
	
	public void resetearNivelDeIra(){
		manejadorTiempo = FabricaTiempo.crearManejadorDeTiempo(ticksDeIra.primero());	
		nivelIra = 0;
	}

	public int obtenerNivelDeIra(){
		return nivelIra;
	}
}